package graphic.primitives.car;

import graphic.primitives.general.GraphicObject;
import graphic.primitives.general.IGraphicObject;

/**
 * Trida pro vykresleni predku auta.
 * 
 * @author Vit Terl
 */
public class FrontPart extends GraphicObject implements IGraphicObject
{
	/**
	 * Konstruktor.
	 * 
	 * @param void
	 */
	public FrontPart()
	{
		super();
	}
	
	/**
	 * Konstruktor.
	 * 
	 * @param int [x]			- x-ova souradnice praveho spodniho rohu
	 * @param int [y]			- y-ova souradnice praveho spodniho rohu
	 * @param int [a]			- delka spodni strany
	 * @param int [b]			- delka bocni strany
	 * @param int [c]			- delka horni strany
	 */
	public FrontPart(int x, int y, int a, int b, int c) {
		this();
		setXYABC(x, y, a, b, c);
	}
	
	/**
	 * Provede vykresleni objektu.
	 * 
	 * @param void
	 * @return void
	 */
	@Override
	public void redraw()
	{
		mainWindow.line(x - a, y, x, y);
		mainWindow.line(x, y, x, y - b);
		mainWindow.line(x, y - b, x - c, y - b);
	}

	/**
	 * Nastavi pozice a rozmery objektu.
	 * 
	 * @param int [x]		- x-ova souradnice praveho spodniho rohu
	 * @param int [y]		- y-ova souradnice praveho spodniho rohu
	 * @param int [a]		- velikost spodku
	 * @param int [b]		- vyska boku
	 * @param int [c]		- velikost horni casti
	 * @return void
	 */
	public final void setXYABC(int x, int y, int a, int b, int c)
	{
		this.x	= x;
		this.y	= y;
		
		this.a	= a;
		this.b	= b;
		this.c	= c;
	}
	
	private int a;
	private int b;
	private int c;
}
